import { IPSAppDataEntity } from '../app/dataentity/ipsapp-data-entity';
import { IPSModelObject } from '../ipsmodel-object';

/**
 *
 * 子接口类型识别属性[]
 * @export
 * @interface IPSControlXDataContainer
 */
export interface IPSControlXDataContainer extends IPSModelObject {
  /**
   * 应用实体对象
   *
   * @type {IPSAppDataEntity}
   */
  getPSAppDataEntity(): IPSAppDataEntity | null;

  /**
   * 应用实体对象
   *
   * @type {IPSAppDataEntity}
   */
  get psAppDataEntity(): IPSAppDataEntity | null;

  /**
   * 应用实体对象（必须存在）
   *
   * @type {IPSAppDataEntity}
   */
  getPSAppDataEntityMust(): IPSAppDataEntity;

  /**
   * 支持编辑数据
   * @type {boolean}
   */
  enableEditData: boolean;

  /**
   * 支持新建数据
   * @type {boolean}
   */
  enableNewData: boolean;

  /**
   * 支持删除数据
   * @type {boolean}
   */
  enableRemoveData: boolean;

  /**
   * 默认加载数据
   * @type {boolean}
   * @default true
   */
  loadDefault: boolean;

  /**
   * 只读模式
   * @type {boolean}
   * @default false
   */
  readOnly: boolean;
}
